package cn.ava.ymcc.service;

import cn.ava.ymcc.domain.Course;
import cn.ava.ymcc.domain.CourseType;
import cn.ava.ymcc.dto.CourseSaveDto;
import cn.ava.ymcc.dto.CourseTypeCrumbsDto;
import cn.ava.ymcc.query.CourseQuery;
import cn.ava.ymcc.vo.CourseInfoVo;
import cn.ava.ymcc.vo.Courseinfo2OrderinfoVo;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ava
 * @since 2022-08-09
 */
public interface ICourseService extends IService<Course> {
    // 添加课程
    void save(CourseSaveDto courseSaveDto);
    // 课程发布
    void onLineCourse(Long courseId);
    // 课程下线
    void offLineCourse(Long courseId);
    // 课程分类面包屑展示
    List<CourseTypeCrumbsDto>crumbs(Long courseTypeId);
    // 课程视频详情页
    CourseInfoVo CourseDetailData(Long courseTypeId);
    // 获取课程信息数据渲染下单页面
    Courseinfo2OrderinfoVo info(String courseIds);

    Page<Course> selectPage(CourseQuery query);
    // 首页推荐课程
    void recommendCourse(Long courseId);
    // 首页最热门推荐课程
    List<Course> hotCourse();
}
